iT邦幫忙

2023 iThome 鐵人賽

DAY 8
0

需求

APP 會透過 RESTful API 跟 server 溝通資料利用 get 和 post ,
那我們就來http 這個package 來實作看看吧。

http - Readme

可以用簡單的高階函式就可以發出請求
import 'package:http/http.dart' as http;

var url = Uri.https('example.com', 'whatsit/create');
var response = await http.post(url, body: {'name': 'doodle', 'color': 'blue'});
print('Response status: ${response.statusCode}');
print('Response body: ${response.body}');

print(await http.read(Uri.https('example.com', 'foobar.txt')));

http - Installing

直接在 pubspec.yaml 加上 http: ^1.1.0 ,然後pub get 
dependencies:
  http: ^1.1.0    

https://ithelp.ithome.com.tw/upload/images/20230922/20121643ZDd8QTsGAd.png

http - Example

在 /lib/day8http.dart 加入 程式
import 'package:http/http.dart';

使用http.post 和加上headers

final response = await http.post(
    Uri.parse('https://jsonplaceholder.typicode.com/albums'),
    headers: <String, String>{
      'Content-Type': 'application/json; charset=UTF-8',
    },
    body: jsonEncode(<String, String>{
      "userId": "10",
      "id": "101",
      "title": "ithome day8 http post"
    }),
  );

使用http.get 和加上headers

https://ithelp.ithome.com.tw/upload/images/20230922/20121643F06HclzftF.png

執行結果

web顯示的結果
https://ithelp.ithome.com.tw/upload/images/20230922/20121643gXl0C4zAXj.png

http get 的結果
https://ithelp.ithome.com.tw/upload/images/20230922/20121643YRJtbmabRE.png

心得

  可以簡單的利用http高階函式就可以get和post 資料,真的太方便了
  

參考

https://docs.flutter.dev/cookbook/networking/fetch-data


上一篇
好好用的 flutter 套件 - Day 7 wakelock
下一篇
好好用的 flutter 套件 - Day 9 logger
系列文
好好用的 flutter 套件30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言